import Vue from 'vue'
import { Message } from 'element-ui'
// 二维数组和相加
Vue.prototype.$sum2DArray = function sum2DArray (arr) {
  let sum = 0
  for (let i = 0; i < arr.length; i++) {
    for (let j = 0; j < arr[i].length; j++) {
      // 将字符串转换为数字并累加到sum
      sum += parseFloat(arr[i][j])
    }
  }
  return sum
}
Vue.prototype.$exportExcel = function exportExcel (excelData, Year) {
  import('@/vendor/Export2Excel').then(excel => {
    const tHeader = ['工作月份', '到手工资', '预计还款', '生活费用', '发薪(还款)月份', '消费明细', '状态']
    function transData (sourceData) {
      // 定义一个空数组 - 最后处理后返回的还是一个数组,return出来的
      const newArr = []
      // 对源数据进行循环遍历
      sourceData.forEach(item => {
        // item 是遍历出来的每一条对象 => { name: "张三", age: 18 }
        // 用Object.values()方法 拿到每个对象的value值 - 组成一个新的数组
        const arr = Object.values(item) // arr就是新组成的 => ['张三', 18]
        // 将新的小数组 添加到 一个大数组中
        newArr.push(arr)
      })
      return newArr
    }
    const res = transData(excelData)
    if (!res) {
      return Message.error('导出数据失败')
    }

    // 这下面才是真正导出的代码，上面是配置
    excel.export_json_to_excel({
      // 表头
      header: tHeader,
      // 表内数据
      data: res || [],
      // 文件名称
      filename: `Play-${Year || '模板'}`,
      // 是否自适应
      autoWidth: true,
      // 文件格式
      bookType: 'xlsx'
    })
  })
}
